a t e v a n s . c o m

(╯°□°)╯︵ <ǝlqɐʇ/>

I did finally get this working. The core issue was the lack of environment when the shell script runs. I had to resolve that by prefixing my Ruby script with the following lines:

#!/bin/sh
PATH=/usr/local/bin:$PATH
exec ruby -x"/full/path/to/script/directory" $0 "$@"
#!/usr/bin/env ruby

Teflon Ted echoes my frustration with setting up cacti to monitor some remote servers using a script. There are a few good suggestions for solutions, but the most helpful was redirecting stderr to a tmp logfile in the command entry in cacti.

The iostat trace that you show me doesn't show any significant problems with EBS.  Here's some explanation of the numbers:

An AWS employee explains numbers related to EBS volumes as taken from IOStat.

In ruby1.9.1, "1.9.1" is the ruby compatibility version. You can see it as the SONAME, even if I'm not completely sure whether it matches the definition of SONAME exactly. (I don't think that anybody knows, really ;)

They aliased the 1.9.2 package to install 1.9.1 -- should've gone the other way 'round, in my opinion.

run-parts runs all the executable files named within constraints described below, found in directory directory. Other files and directories are silently ignored.

If neither the --lsbsysinit option nor the --regex option is given then the names must consist entirely of upper and lower case letters, digits, underscores, and hyphens.

By default, our cron.hourly on Ubuntu was set up to run using run-parts. Which means critical_backup.rb or notify_me.pl won't run, because nothing in /etc/cron.hourly is supposed to have a dot or a suffix.

I guess this is something all sysadmins inherently know? Why does this restriction exist, or make sense? Maybe if you were compiling a bunch of source files and wanted to run the executables, but even then... Why place hidden restrictions with no logging or exception information into a default system?

echo 1 > /proc/sys/vm/overcommit_memory

works perfectly! So the problem was with the kernel _estimating_ how
much memory would the forked process need. Echoing "1" as I understand
disables the check and enables the process to fork.

Since "0" is default of overcommit_memory, perhaps the issue is much
more common on Linux boxes. It also looks like MacOSX is free of this
issue.

If confirmed, it would be nice to have it added to the FAQ.

Great job and many thanks again

Yep. Bam. Thanks again, Internet.

Set implements a collection of unordered values with no duplicates. This is a hybrid of Array’s intuitive inter-operation facilities and Hash’s fast lookup.

Several methods accept any Enumerable object (implementing each) for greater flexibility: new, replace, merge, subtract, |, &, -, ^.

The equality of each couple of elements is determined according to Object#eql? and Object#hash, since Set uses Hash as storage.

Finally, if you are using class Set, you can also use Enumerable#to_set for convenience.

Useful core ruby class for when you want not quite an array.

Screen_shot_2011-10-12_at_2
Using bold fonts to indicate EITHER "labels with new emails" OR "label you currently have selected" is terrible. Are there new emails in the label I have selected? If I'm looking at an individual email in that label, there's no way to tell.

Don't conflate meanings on UI elements. Make different things look different.

The method is construct_finder_sql(options) (lib/active_record/base.rb:1681) you will have to use __send__ because it is private.

Nice for use in IRB / testing small queries


  alias ss='thin --stats "/thin/stats" start'
  alias sg='ruby script/generate'
  alias sd='ruby script/destroy'
  alias sp='ruby script/plugin'
  alias ssp='ruby script/spec'
  alias rdbm='rake db:migrate'
  alias sc='ruby script/console'
  alias sd='ruby script/server --debugger'
  alias devlog='tail -f log/development.log'
  

Shortcuts I didn't even know I had. Found these when I was about to write these exact aliases myself! XD oh-my-zsh is awesome.

Mastodon